# __author__ = 'heyin'
# __date__ = '2018/11/20 13:43'
import numpy as np
import pandas as pd

df = pd.DataFrame(np.arange(12).reshape((3, 4)), columns=['a', 'b', 'c', 'd'])
print(df)

# 获取索引
print(list(df.index))
# 重新设置index
df.index = ['x', 'y', 'z']
print(df)
# 创建一个新索引的新对象，不是表面的reindex的意思
# 相当于从df中取出xzf行的数据组成新df，如果索引不存在，以nan填充
# df = df.reindex(list('xzf'))
# print(df)


# 指定某一列成为index，原索引会被删掉
# df = df.set_index('a', drop=False)  # drop指的是是否在数据中删除a这一列
# print(df)
#
# # df = df.set_index('a', drop=False)
# df.loc[4, 'b'] = 1
# print(df['b'])
# # 需求，对某一列的数据进行去重时，可以取出此列，然后使用unique方法实现
# print(df['b'].unique())  # 是series的方法，实现去重，得到一维数组


# 复合索引
df = df.set_index(['a', 'b'])['c']
print(df)

print(df[4])

print(df[4, 5])
